home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 12870 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  3.3 KB

  1. Path: yama.mcc.ac.uk!dmu!usenet
  2. From: Graham Perkins <grp@dmu.ac.uk>
  3. Newsgroups: comp.lang.c++,comp.lang.eiffel,comp.lang.c,comp.object,comp.software-eng
  4. Subject: Re: Portability of code & skills (Beware of "C" Hackers etc)
  5. Date: Thu, 21 Mar 1996 16:06:07 +0000
  6. Organization: De Montfort University
  7. Message-ID: <31517E6F.5930@dmu.ac.uk>
  8. References: <31494D29.4D4B@dmu.ac.uk> <DoG3HE.48E@assip.csasyd.oz>
  9. NNTP-Posting-Host: mkcsst22.mk.dmu.ac.uk
  10. Mime-Version: 1.0
  11. Content-Type: text/plain; charset=us-ascii
  12. Content-Transfer-Encoding: 7bit
  13. X-Mailer: Mozilla 2.0 (Win16; I)
  14.  
  15. Don Harrison wrote:
  16. > :adoption of C and Unix.
  17. > Aside from the historical argument, could another reason be that people
  18. > love power and permissive languages such as C give such power?
  19.  
  20. Permissive, yes.  Power?  I don't think so.  Perhaps too many people 
  21. confuse the two.  For example, local functions give a certain power,
  22. expecially if you can pass them as parameter as in Pascal.  This power
  23. is unavailable in C.  Simple manipulation of structured objects is
  24. quite awkward, and has been severely limited and error prone for most
  25. of the lifetime of the C language.  Cobol's pattern matched input and
  26. pattern editing output is extremely powerful, but C does not even check
  27. you pass the same number of print items as you specify, never mind give
  28. you the power to control currency sign, leading zero suppression, decimal
  29. format, credit/debit formats... And what about that file handling?
  30. Read an arbitrary number of bytes into an un-typed buffer .. that's power?
  31.  
  32. No curried functions, function constructors, lazy evaluation, or generic
  33. data and function types.  No assertions, exceptions, concurrency, or
  34. parallelism.  No built in string, vector, matrix, or complex operations.
  35. No garbage collection.  No embedded SQL.  No opaque types or language
  36. construct for naming a group of related operations.  Think of any powerful
  37. construct you like from any language and you will find it NOT in C (or
  38. at least not during the period C was catching on).
  39.  
  40. > :..universal assembler ..does not seem to have happened, and I don't understand
  41. > :why.
  42. > Someone else already pointed out that Eiffel uses it as such.
  43.  
  44. Well it hasn't really happened in the way I meant.  Those who demand their
  45. systems in C are resistant to Eiffel because they perceive it as a language
  46. that is not C, in spite of the C back-end.  Same for lots of other compiled
  47. systems.  But TeleUSE users see the system as a GUI toolkit for C programming,
  48. in spite of the fact that most programming is done via direct manipulation
  49. or their "D" event-action language.  The only C is in the application interface,
  50. but of course that stuff could be written in any language so long as you
  51. could come up with a C header file to enable linking.
  52.  
  53. It seems to be a matter of flavour.  If the Eiffel browsers worked almost
  54. entirely visually (eg, class tool contains rename table, redefinitions
  55. colour coded, export control by dropping classes into or pulling out of
  56. a viewpoint icon) then much of the syntax could disappear or be hidden.
  57. Then people would be more inclined to view it as an OO development system 
  58. for C rather than as a different language.
  59. -- 
  60. person: Graham Perkins         paper: School of Computing
  61. voice:  +44 (0)1908 834936            De Montfort University
  62. dots:   +44 (0)1908 834948            Milton Keynes MK7 6HP
  63. bits:   grp@dmu.ac.uk                 United Kingdom
  64.